package com.shuoyue.ycgk.views;

import android.annotation.TargetApi;
import android.graphics.Bitmap;
import android.os.Build;
import android.view.View;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;

class MyClient extends WebViewClient {


    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        //Log.e(TAG, "onPageStarted: ----url:" + url);
    }

    @Override
    public void onPageFinished(WebView view, String url) {
//        mProgressBar.setVisibility(View.GONE);
//        if (mIsLoadSuccess) {
//            mErrorView.setVisibility(View.GONE);
//            mWebView.setVisibility(View.VISIBLE);
//            //根据Url处理自己的业务
//            handleWebRequest(url);
//        } else {
//            mErrorView.setVisibility(View.VISIBLE);
//            mWebView.setVisibility(View.GONE);
//        }
    }

    /**
     * 这里进行无网络或错误处理，具体可以根据errorCode的值进行判断，做跟详细的处理。
     *
     * @param view
     */
    // 旧版本，会在新版本中也可能被调用，所以加上一个判断，防止重复显示
    @Override
    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
        super.onReceivedError(view, errorCode, description, failingUrl);
        //Log.e(TAG, "onReceivedError: ----url:" + error.getDescription());
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            return;
        }
        // 在这里显示自定义错误页
//        mErrorView.setVisibility(View.VISIBLE);
//        mWebView.setVisibility(View.GONE);
//        mProgressBar.setVisibility(View.GONE);
//        mIsLoadSuccess = false;
    }

    // 新版本，只会在Android6及以上调用
    @TargetApi(Build.VERSION_CODES.M)
    @Override
    public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
        super.onReceivedError(view, request, error);
        if (request.isForMainFrame()) { // 或者： if(request.getUrl().toString() .equals(getUrl()))
            // 在这里显示自定义错误页
//            mErrorView.setVisibility(View.VISIBLE);
//            mWebView.setVisibility(View.GONE);
//            mIsLoadSuccess = false;
        }
    }
}